﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace AsyncTest
{
    internal class Program_old
    {
        static void Main_old(string[] args)
        {
            // 同步方法调用异步方法
            CallAsyncMethodSynchronously();

            Console.ReadLine();
        }
        // 异步方法
        static async Task<int> AsyncMethod()
        {
            Console.WriteLine("异步方法开始执行...");

            // 模拟异步操作，比如从数据库或远程服务获取数据
            await Task.Delay(2000);

            Console.WriteLine("异步方法执行完成。");

            return 42;
        }

        // 同步方法调用异步方法
        static void CallAsyncMethodSynchronously()
        {
            Console.WriteLine("同步方法开始执行...");

            // 同步方法中调用异步方法，使用Wait()方法等待异步方法完成
            Task<int> asyncTask = AsyncMethod();
            int result = asyncTask.Result; // 使用Result属性会阻塞当前线程，直到异步方法完成

            Console.WriteLine($"异步方法返回的结果为: {result}");

            Console.WriteLine("同步方法执行完成。");
        }
    }
}
